/*
java.util.list;  //接口    extends collection
 */


public class Demo{

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();     //多态
        //用Arraylist一样的方式，和ArrayList一样的性质（元素可以重复）
    }

}



/*
java.util.LinkedList   implements List接口
底层是一个链表结构
里面有大量操作首尾元素的方法
//不能使用多态
 */


public class demo2{

    public static void main(String[] args) {
        LinkedList<String> link = new LinkedList<>();
        link.add("s");
        link.add("s");
        link.add("s");
        link.add("s");
        link.add("s");

        String first = link.getFirst();     //获取最前面的元素的值
        String last = link.getLast();          //获取最后面的元素的值

    }

}


/*
java.util.Set接口  extends Collection接口
特点：
//不允许存储重复的元素
//没有索引，没有带索引的方法，也不能用for遍历
java.util.HashSet集合  implements Set接口
特点：
//不允许存储重复的元素
//没有索引，没有带索引的方法，也不能用for遍历
//是一个无序的集合，取出来时顺序可能不同
//底层是一个哈希表的结构（查询速度超快）
 */


public class demo3{

    public static void main(String[] args) {
        Set<Interger> set = new Hashset();
        set.add(1);
        set.add(1);       //只能存进一个1
        set.add(2);
        set.add(3);
        set.add(4);


        Iterator<Interger> it = set.iterator();    //使用迭代器遍历set集合（HashSet可以用迭代器遍历）
        while (it.hasNext){
            Interger n = it.next();
            System.out.println(n);                //打印出值
        }
    }
}







